Field programmable gate arrays (FPGAs) include a matrix of programmable logic blocks and a network of reconfigurable bus lines through which the programmable logic blocks can be inter-wired. The programmable logic blocks can be configured to perform a range of different functions from simple circuit logic, such as AND and OR operations, to more complex combinational functions. FPGAs can be reprogrammed for desired applications or functionality requirements after manufacturing.